<?php

include_once 'class/tabela.php';

class usuarios extends tabela {

    function __construct() {
        global $meubanco;
        parent::__construct('tb_usuarios', $meubanco->id);
    }

    public function formulario($dados = '') {
        global $meubanco;
        $dados['option_grupos_usuarios'] = $this->tags_option_grupos_usuarios($dados['id_grupo']);
        $unidades = new unidades();
        $dados['option_unidades'] = $unidades->tags_option($dados['id_unidade']);
        include 'forms/form_usuarios.php';
    }

    public function listar($dados = '') {
        include "views/view_usuarios.php";
    }
	
	public function view_perfil($dados = '') {
        include "views/view_perfil_usuario.php";
    }

    /*public function formulario_senha($dados = '') {
        global $meubanco;
        include 'forms/form_alterar_senha.php';
    }

    public function inserir($dados = '') {
        global $meubanco;
        if (empty($dados['senha']))
            $dados['senha'] = gerar_senha();
        if (!empty($dados['nome']) && !empty($dados['login'])) {
            $dados['senha'] = md5($dados['senha']);
            $dados['data_cadastro'] = date('Y-m-d H:i:s');
            $dados['usuario_cadastro'] = $_SESSION['eco_usuario']['id'];
            $dados['usuario_alteracao'] = $_SESSION['eco_usuario']['id'];
            if (parent::inserir($dados, $meubanco->id)) {
                if ($dados['id_unidade']) {
                    $sql = "SELECT MAX(id) AS ultimo_id FROM usuarios";
                    $ultimo = new consulta();
                    $ultimo->executar($sql, $meubanco->id);
                    foreach ($dados['id_unidade'] as $unidade) {
                        $sql = "INSERT INTO usuarios_unidades (id_usuario, id_unidade) VALUES ('{$ultimo->dados['ultimo_id']}', '$unidade')";
                        $consulta = new consulta();
                        $consulta->executar($sql, $meubanco->id);
                    }
                }
                mensagem('Usuário cadastrado com sucesso. ', 1);
            } else {
                mensagem("Não foi possível cadastrar o Usuário. ", 2);
            }
        } else {
            mensagem("Campos obrigatórios não preenchidos.", 2);
        }
    }

    public function alterar($dados = '') {
        global $meubanco;
        if (!empty($dados['nome']) && !empty($dados['login'])) {
            $dados['usuario_alteracao'] = $_SESSION['eco_usuario']['id'];
            if (parent::alterar($dados, $meubanco->id)) {
                if ($dados['id_unidade']) {
                    $sql = "DELETE FROM usuarios_unidades WHERE id_usuario = {$dados['id']}";
                    $delete = new consulta();
                    $delete->executar($sql, $meubanco->id);
                    foreach ($dados['id_unidade'] as $unidade) {
                        $sql = "INSERT INTO usuarios_unidades (id_usuario, id_unidade) VALUES ('{$dados['id']}', '$unidade')";
                        $consulta = new consulta();
                        $consulta->executar($sql, $meubanco->id);
                    }
                }
                mensagem('Usuário alterado com sucesso', 1);
            } else {
                if (mysqli_error($meubanco->id) != "") {
                    mensagem(mysqli_error($meubanco->id), 2);
                } else {
                    mensagem('Usuário alterado com sucesso.', 1);
                }
            }
        } else {
            mensagem("Campos obrigatórios não preenchidos.", 2);
        }
    }

    public function excluir($id) {
        global $meubanco;
        $consulta = new consulta();
        $sql = "UPDATE usuarios SET email = NULL, ativo = 0 WHERE id = $id";
        if ($consulta->executar($sql, $meubanco->id)) {
            mensagem('Usuário excluido com sucesso', 1);
        } else {
            mensagem("Não foi possível excluir o Usuário. ", 3);
        }
    }

    public function tags_tr() {
        global $meubanco;
        $guid = $_SESSION['eco_usuario']['id_grupo'];
        $linhas = '';
        $cons = new consulta();
        $sql = "SELECT 
                    u.id,
                    u.nome,
                    u.tipo
                FROM usuarios u 
                WHERE u.ativo 
                ORDER BY u.nome";
        $cons->executar($sql, $meubanco->id);

        if ($cons->numlinhas) {
            do {
                switch ($cons->dados['tipo']) {
                    case 'S':
                        $tipo = 'Suporte';
                        break;
                    case 'U':
                        $tipo = 'Usuário Comum';
                        break;
                }
                $linhas .= '<tr>
                                <td> ' . $cons->dados['nome'] . '</td>
                                <td> ' . $tipo . '</td>
                                <td>';

                if (cp('usu_upd', dp($guid)))
                    $linhas .= '<a href="?p=admusuarios&opcao=a&id=' . $cons->dados['id'] . '" class="tip" title="Editar Usuário" data-placement="top"><img src="img/icons/essen/16/edit.png" alt=""></a>';
                if (cp('usu_del', dp($guid)))
                    $linhas .= '<a href="?p=admusuarios&opcao=ec&id=' . $cons->dados['id'] . '" class="tip" title="Excluir Usuário" data-placement="top"><img src="img/icons/essen/16/busy.png" alt=""></a>';

                $linhas .= '</td>
                        </tr>';
            } while ($cons->proximo());
        }
        return $linhas;
    }

    public function tags_option_grupos_usuarios($selected = 0) {
        global $meubanco;
        $linhas = '';
        $cons = new consulta();
        $sql = "SELECT id, descricao FROM grupos_usuarios WHERE ativo ORDER BY descricao";
        $cons->executar($sql, $meubanco->id);
        if ($cons->numlinhas) {
            do {
                if ($selected == $cons->dados['codigo'])
                    $complmt = 'selected="selected"';
                else
                    $complmt = '';
                $linhas .= "<option value=\"{$cons->dados['id']}\" $complmt>{$cons->dados['descricao']}</option>\n";
            } while ($cons->proximo());
        }
        return $linhas;
    }

    public function alterar_senha($dados = '') {
        global $meubanco;
        $cons = new consulta();
        $cons->executar("SELECT id FROM usuarios WHERE id = {$_SESSION['eco_usuario']['id']} AND senha = MD5('{$dados['senha']}')", $meubanco->id);
        if ($cons->numlinhas) {
            $cons->executar("UPDATE usuarios SET senha = MD5('{$dados['senha_nova']}') WHERE id = {$_SESSION['eco_usuario']['id']}", $meubanco->id);
            if ($cons->numlinhas) {
                mensagem("Senha alterada com sucesso.", 1);
            } else {
                mensagem("Não foi possível aterar a senha.", 2);
            }
        } else {
            mensagem("Senha Incorreta!", 2);
        }
    }*/
	

    public function tags_option($selected = 0, $tipo = "") {
        global $meubanco;
        $linhas = '';
        $cons = new consulta();
        if (!empty($tipo))
            $filtro = "AND USU_ADMIN = '$tipo'";
        $sql = "SELECT USU_CODIGO, USU_NOME FROM tb_usuarios WHERE ATIVO $filtro ORDER BY USU_NOME";


        $cons->executar($sql, $meubanco->id);
        if ($cons->numlinhas) {
            do {
                if ($selected == $cons->dados['USU_CODIGO'])
                    $complmt = 'selected="selected"';
                else
                    $complmt = '';
                $linhas .= '<option value="'.$cons->dados['USU_CODIGO'].'" $complmt> '.$cons->dados['USU_NOME'].' </option>';
            } while ($cons->proximo());
        }
        return $linhas;
    }

}

?>
